#include <vector>
#include <iostream>

using namespace std;

vector<vector<int>> yanghuiTriangle(int level) {
  vector<vector<int>> result {{1}};

  // 构建剩余的 level - 1 行
  for (int i = 1; i < level; ++i) {
    // 构建每一行杨辉三角数据
    vector<int> line(i + 1, 0);

    for (int j = 0; j < i + 1; ++j) {
      if (j == 0 || i == j) {
        line[j] = 1;
      }
      else {
        // line[j] = 
        // result[4][1] = result[3][0] + result[3][1]
        //                行-1 列-1     + 行-1 列
        line[j] = result[i - 1][j - 1] + result[i - 1][j];
      }
    }

    result.push_back(line);
  }

  return result;
}

/*

      1          0,6 = 2 * n - 2
    1   1        0,4
  1   2   1      0,2
1   3   3   1    0,0
*/
void printYanghuiTriangle(const vector<vector<int>> &t) {
  int spaces = t.back().size() - 1;

  for (int i = 0; i < t.size(); ++i) {
    // 打印 spaces - 1 个空格
    // 打印 t[i] 这一行的所有数据
    // spaces -= 1
  }
}


int main(int argc, char const *argv[])
{
  /* code */
  auto t = yanghuiTriangle(4);


  return 0;
}
